﻿using GolSig.Library;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;

namespace Test.GolSig.Library.ExtendedCellStatusInfoSpecs
{
    
    
    
    [TestClass()]
    public class WhenCreatingExtendedCellStatusInfo
    {


      
        [TestMethod()]
        public void GivenValidArgument_ThenShouldBeCreated()
        {
            bool alive = false; 
            int numberOfLivingAdjacentCells = 0; 
            ExtendedCellStatusInfo target = new ExtendedCellStatusInfo(alive, numberOfLivingAdjacentCells);
            Assert.IsNotNull(target);
        }

        [TestMethod(), ExpectedException(typeof(System.ArgumentOutOfRangeException))]
        public void GivennumberOfLivingAdjacentCellsMinusOne_ThenShouldRaiseException()
        {
            bool alive = false;
            int numberOfLivingAdjacentCells = -1;
            ExtendedCellStatusInfo target = new ExtendedCellStatusInfo(alive, numberOfLivingAdjacentCells);
            Assert.Fail("expected exception");
        }

         [TestMethod(), ExpectedException(typeof(System.ArgumentOutOfRangeException))]
        public void GivennumberOfLivingAdjacentCellsNine_ThenShouldRaiseException()
        {
            bool alive = false;
            int numberOfLivingAdjacentCells = 9;
            ExtendedCellStatusInfo target = new ExtendedCellStatusInfo(alive, numberOfLivingAdjacentCells);
            Assert.Fail("expected exception");
        }
    }
   
}
